Automating the Verification of Floating-Point Algorithms
نویسنده
چکیده
Floating-point numbers are limited both in range and in precision, yet they are widely used as a way to implement computations on real numbers. Thus arithmetic operations introduce small errors which might be amplified during subsequent computations and cause inaccuracies. As such, proving the correctness of a floating-point algorithm usually entails verifying that the computed results are still close enough to some ideal values, despite the method error and the round-off errors. The traditional way to tackle such a verification is to perform an error analysis, possibly using automated tools. Unfortunately, when it comes to the low-level functions found in mathematical libraries, the floating-point code is usually so contrived that this approach falls short. Indeed, just knowing the code is no longer sufficient to verify it, one also has to know the mathematical reasons that led to choosing this code in the first place. This excludes any hope of full automation, yet automated tools are sorely needed, if only because performing a pen-and-paper proof of such functions is long, tedious, and error-prone. This talk will show some issues specific to the verification of the floating-point functions of a mathematical library, and some methods for solving them automatically. These methods will be exemplified using Gappa, a tool dedicated to proving the logical formulas that arise during the verification of small yet complicated floating-point algorithms. This tool is based on interval arithmetic, expression rewriting, and theorem saturation. For increased confidence, the tool also generates formal proofs which can be verified by the Coq proof assistant.
منابع مشابه
Control Simulation and Experimental Verification of Maximum Power Point Tracking Based on RT-LAB (TECHNICAL NOTE)
The maximum power point tracking (MPPT) control in the Photovoltaic system is the key control technology, however present controller has the disadvantages of long development cycle, high cost and complex verification, and there are some disadvantages carrying out totally physical simulation or totally digital simulation of different control algorithms. This paper carried out design of hardware ...
متن کاملExploiting Binary Floating-Point Representations for Constraint Propagation
Floating-point computations are quickly finding their way in the design of safetyand mission-critical systems, despite the fact that designing floating-point algorithms is significantly more difficult than designing integer algorithms. For this reason, verification and validation of floating-point computations is a hot research topic. An important verification technique, especially in some indu...
متن کاملExploiting Binary Floating-Point Representations for Constraint Filtering
Floating-point computations are quickly finding their way in the design of safetyand mission-critical systems, despite the fact that designing floating-point algorithms is significantly more difficult than designing integer algorithms. For this reason, verification and validation of floating-point computations is a hot research topic. An important verification technique, especially in some indu...
متن کاملPoint Dose Measurement for Verification of Treatment Planning System using an Indigenous Heterogeneous Pelvis Phantom for Clarkson, Convolution, Superposition, and Fast Superposition Algorithms
Background: Nowadays, advanced radiotherapy equipment includes algorithms to calculate dose. The verification of the calculated doses is important to achieve accurate results. Mostly homogeneous dosimetric phantoms are available commercially which do not mimic the actual patient anatomy; therefore, an indigenous heterogeneous pelvic phantom mimicking actual human pelvic region has been used to ...
متن کاملFloating-Point Verification Using Theorem Proving
This chapter describes our work on formal verification of floating-point algorithms using the HOL Light theorem prover.
متن کامل